home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 11664 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  5.2 KB

  1. Path: news.wwa.com!rmartin
  2. From: rmartin@oma.com (Robert C. Martin)
  3. Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
  4. Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
  5. Date: 15 Mar 1996 16:53:50 GMT
  6. Organization: Object Mentor
  7. Message-ID: <RMARTIN.96Mar15105350@rcm.oma.com>
  8. References: <1995Jul3.034108.4193@rcmcon.com> <3taaha$p8j@ixnews3.ix.netcom.com>
  9.     <3taodp$859@saba.info.ucla.edu> <3tap9h$qp3@saba.info.ucla.edu>
  10.     <314628F2.31C8@aud.alcatel.com> <RMARTIN.96Mar13110714@rcm.oma.com>
  11.     <4i862r$1evq@saba.info.ucla.edu>
  12. NNTP-Posting-Host: rcm.oma.com
  13. In-reply-to: jmartin@cs.ucla.edu's message of 14 Mar 1996 04:07:55 GMT
  14.  
  15. In article <4i862r$1evq@saba.info.ucla.edu> jmartin@cs.ucla.edu (Jay Martin) writes:
  16.  
  17.    You have no studies to backup that Eiffel and C programmers are
  18.    magically identical so this is just a red herring. 
  19.  
  20. And you have no studies either, so your statements are just as red 
  21. and hairy as mine.  ;)
  22.  
  23.    Competent software engineers
  24.    are not hackers.  Hackers do not like the restrictiveness of an
  25.    Eiffel or an Ada or any other software engineering language, thus
  26.    these languages are not likely to attract hackers.  C is
  27.    unrestrictive and attracts hackers in droves.  
  28.  
  29. I have been working with C programmers for the last 16 years.  I have
  30. not encountered this phenomemon.
  31.  
  32.    I have never worked
  33.    with an Eiffel programmer, but given an Eiffel programmer spouting
  34.    high level design and implementation concepts and a C programmer who
  35.    says "I use pointer arithmetic cuz it may be faster, I don't trust no
  36.    compilers" and "I write terse code all on my line cuz its cool like
  37.    mathematics and gee, I is a mathematical genius or something",
  38.    the Eiffel programmer is basically going to get the job. 
  39.  
  40. The above clearly demonstrates that you have an "attitude" towards C
  41. programmers.  That attitude is unwarranted.  There may indeed be C programmers
  42. who act as you have described.  Let me assure you, however, that there
  43. are also large numbers of C/C++ programmers who do not share that
  44. attitude. 
  45.  
  46.    In my book, to be a competent software engineer you must must also be
  47.    an very knowledgable at computer language design and also compiler 
  48.    optimization.  Its common knowledge that C is poorly designed and
  49.    thus rabid worshipers of C are not too swift.
  50.  
  51. This "common knowledge".  Can you cite any truly athoritative
  52. references?  In any case, both rabbid worship and rabid hatred of
  53. *anything* ought to be avoided.  
  54.  
  55.    If C is so wonderful for making high level code, then what the bleep
  56.    was C++ invented for?  
  57.  
  58. To quote Stroustrup: "...to make programming more enjoyable for the
  59. serious programmer."  For me, it succeeds in this role.
  60.  
  61.    Most code written in C is low level crap. 
  62.  
  63. Really?  Most?  How much of the total have you reviewed, and what is
  64. your criteria for deciding that it is low level crap. 
  65.  
  66.    To demonstrate the "C hacker culture" (filed under macho attitudes)
  67.    here's a random recent example:
  68.  
  69.    rmartin@oma.com (Robert C. Martin) writes:
  70.  
  71.    >No, I disagree with your point.  It is not the responsibility of the
  72.    >language to make the engineer better.  It is the responsibility of the
  73.    >engineer to become adept at the language.
  74.  
  75.    Clear demonstration of views that have left software engineering
  76.    and entered the "C Hacker Zone".
  77.  
  78. Consider a hammer.  A hammer, like a language, is a tool.  Now, is a
  79. hammer a high level tool?  Or is it a low level tool?  How can you
  80. decide?  Certainly the role of the hammer is very low level.  i.e. one
  81. uses it to pound nails into wood.  Does this make the hammer a low
  82. level tool?  If so, then what would the high level counterpart be?
  83.  
  84. What about those neat air powered hammers.  They are much faster than
  85. regular hammers.  They also pound the nail in perfectly straight, and
  86. do not leave nasty dents on the wood.  Perhaps you could consider the
  87. air powered hammer to be a high level tool since it rids the carpenter
  88. from being concerned with the lower level issues, and save him lots of
  89. time.  
  90.  
  91. However, air powered hammers aren't really appropriate for all
  92. purposes.  Indeed, there are places where hey are more detrimental
  93. than beneficial.  One has to have a compressor running.  One has to
  94. drag air hoses around all the time.  Compressors can run out of fuel,
  95. air hoses can be too short, become tangled, or can be obstacles for
  96. other workers.  In short, there are problem associated with using the
  97. air hammer.
  98.  
  99. A good engineer will know when and when not to use a power tool.  He
  100. will know the advantages and disavantages.  He will make decisions
  101. regarding the usage of tools based upon the context and requirements
  102. of the job.
  103.  
  104. Thus, it is the engineers choice and usage of tools that makes him a
  105. "better" engineer.  The tools play no active part in this.  It is not
  106. the reponsibility of the tools to make the engineer better.  It is the
  107. responsibility of the engineer to learn how and when to use the
  108. appropriate tools.
  109.  
  110.  
  111.  
  112.  
  113. --
  114. Robert Martin       | Design Consulting   | Training courses offered:
  115. Object Mentor Assoc.| rmartin@oma.com     |   OOA/D, C++, Advanced OO
  116. 14619 N. Somerset Cr| Tel: (847) 918-1004 |   Mgt. Overview of OOT
  117. Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com
  118.  
  119.